package com.cy.ppj.service.order;

import com.cy.ppj.model.PageBean;
import com.cy.ppj.model.query.customer.CustomerAuthRecordQuery;
import com.cy.ppj.model.query.order.JydOrderListAdminQuery;
import com.cy.ppj.model.vo.customer.CustomerAuthDetailVO;
import com.cy.ppj.model.vo.customer.CustomerAuthRecordVO;
import com.cy.ppj.model.vo.order.ImageListVO;
import com.cy.ppj.model.vo.order.JydOrderDetailAdminVO;
import com.cy.ppj.model.vo.order.JydOrderListAdminVO;

import java.util.List;

/**
 * @Description 家易贷订单 service
 * @Author tanyilin
 * @Date 2019/6/27 15:55
 */
public interface JydOrderService {

    /**
     * 后台-家易贷管理 ‘申请中’订单
     * @param query
     * @return com.cy.ppj.model.PageBean<com.cy.ppj.model.vo.order.JydOrderListAdminVO>
     */
    PageBean<JydOrderListAdminVO> selectApplyingJydOrderList(JydOrderListAdminQuery query);

    /**
     * 后台-家易贷管理 ‘已授信’订单
     * @param query
     * @return com.cy.ppj.model.PageBean<com.cy.ppj.model.vo.order.JydOrderListAdminVO>
     */
    PageBean<JydOrderListAdminVO> selectDecisionPassJydOrderList(JydOrderListAdminQuery query);

    /**
     * 后台-家易贷管理 ‘已放款’订单
     * @param query
     * @return com.cy.ppj.model.PageBean<com.cy.ppj.model.vo.order.JydOrderListAdminVO>
     */
    PageBean<JydOrderListAdminVO> selectLoanSuccessJydOrderList(JydOrderListAdminQuery query);

    /**
     * 后台-家易贷管理 ‘申请拒绝’订单
     * @param query
     * @return com.cy.ppj.model.PageBean<com.cy.ppj.model.vo.order.JydOrderListAdminVO>
     */
    PageBean<JydOrderListAdminVO> selectRejectJydOrderList(JydOrderListAdminQuery query);

    /**
     * 家易贷订单详情
     * @param orderId
     * @return com.cy.ppj.model.vo.order.JydOrderDetailAdminVO
     */
    JydOrderDetailAdminVO getOrderDetail(Long orderId);

    /**
     * 获取订单image列表
     * @param orderId
     * @param customerId
     * @return java.util.List<com.cy.ppj.model.vo.order.ImageListVO>
     */
    List<ImageListVO> getOrderImageList(Long orderId, Long customerId);

    /**
     * 后台-查询客户实名认证记录
     * @param query
     * @return com.cy.ppj.model.PageBean<com.cy.ppj.model.vo.customer.CustomerAuthRecordVO>
     */
    PageBean<CustomerAuthRecordVO> selectCustomerAuthRecord(CustomerAuthRecordQuery query);

    /**
     * 查询客户认证信息详情
     * @param customerId
     * @return com.cy.ppj.model.vo.customer.CustomerAuthDetailVO
     */
    CustomerAuthDetailVO getCustomerAuthDetail(Long customerId);
}
